' This program exported from BASIC Anywhere Machine (Version [5.2.3].[2024.09.09.00.00]) on 2025.02.15 at 18:32 (Coordinated Universal Time) ' Program by Charlie Veniot ' Using DRAW to "spirograph" ellipses ' Rotating the ellipses on an axis to create a colorful circle ' 🟠🟠🟠 Declarations CONST s% = 201, _ ' Screen dimension (width and height) scm% = ( s% - 1 ) / 2 ' Middle coordinates of screen (x and y) DIM aColor%( 1 TO 62 ) ' Color palette array VAR maxColors% ' Max number of colours for current drawing iteration VAR aE% ' angle of ellipse VAR aG% ' angle for position of a spirographing "gear" in the spirographing frame ' 🟠🟠🟠 Main program SCREEN _NEWIMAGE( s%, s%, 17) aE% = 0 ➔Iteration: GOSUB 🎨SetColorPalette FOR aE% = 0 TO 359 c% = aColor%( INT( RND * maxColors% ) + 1 ) GOSUB 🖌DrawEllipse IF aE% MOD 3 = 0 THEN SLEEP 0.001 NEXT aE% SLEEP 2 GOTO ➔Iteration END ' 🟠🟠🟠 GOSUB Routines 🎨SetColorPalette: maxColors% = INT( RND * 60 ) + 2 FOR i% = 1 TO maxColors% aColor%( i% ) = INT( RND * 62 ) + 1 NEXT i% RETURN 🖌DrawEllipse: ' Well, about a quarter of an ellipse FOR aG% = 95 TO 185 STEP 1 DRAW "BM " + scm% + "," + scm% DRAW "B TA " + ( aE% + aG% ) + " U" + ( scm% - 45 ) DRAW "B TA " + ( 450 + aE% - aG% ) + " R39" CIRCLE ( POINT(0), POINT(1) ), 1, c%, , , , T NEXT aG% RETURN